#include "opencl_source_map.hpp" 
namespace MNN { 
const char* winogradTransformSource2_5_1 = 
"#ifdef MNN_SUPPORT_FP16\n"
"#pragma OPENCL EXTENSION cl_khr_fp16 : enable\n"
"#endif\n"
"__constant sampler_t SAMPLER=CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP | CLK_FILTER_NEAREST;\n"
"__kernel void winogradTransformSource(__read_only image2d_t uInput,// 0\n"
" __write_only image2d_t uOutput,__private const int unitWidth,\n"
" __private const int unitHeight,// 3\n"
" __private const int padX,__private const int padY,\n"
" __private const int srcWidth,// 6\n"
" __private const int srcHeight,__private const int srcChannelC4,\n"
" __private const int batchOffset) {\n"
" int2 pos=(int2)(get_global_id(0),get_global_id(1)); \n"
" if (pos.x<unitWidth*unitHeight && pos.y<srcChannelC4) {\n"
" int unitWidth_idx=pos.x % unitWidth;\n"
" int unitHeight_idx=pos.x/unitWidth;\n"
" int dstX=mad24(pos.y,unitWidth,unitWidth_idx);\n"
" {\n"
" int sxStart=(unitWidth_idx)*2-padX;\n"
" int syStart=(unitHeight_idx)*2-padY;\n"
" FLOAT4 S00;\n"
" FLOAT4 S10;\n"
" FLOAT4 S20;\n"
" FLOAT4 S30;\n"
" FLOAT4 S40;\n"
" FLOAT4 S50;\n"
" FLOAT4 S01;\n"
" FLOAT4 S11;\n"
" FLOAT4 S21;\n"
" FLOAT4 S31;\n"
" FLOAT4 S41;\n"
" FLOAT4 S51;\n"
" FLOAT4 S02;\n"
" FLOAT4 S12;\n"
" FLOAT4 S22;\n"
" FLOAT4 S32;\n"
" FLOAT4 S42;\n"
" FLOAT4 S52;\n"
" FLOAT4 S03;\n"
" FLOAT4 S13;\n"
" FLOAT4 S23;\n"
" FLOAT4 S33;\n"
" FLOAT4 S43;\n"
" FLOAT4 S53;\n"
" FLOAT4 S04;\n"
" FLOAT4 S14;\n"
" FLOAT4 S24;\n"
" FLOAT4 S34;\n"
" FLOAT4 S44;\n"
" FLOAT4 S54;\n"
" FLOAT4 S05;\n"
" FLOAT4 S15;\n"
" FLOAT4 S25;\n"
" FLOAT4 S35;\n"
" FLOAT4 S45;\n"
" FLOAT4 S55;\n"
" {\n"
" int sx=0+sxStart;\n"
" int sy=0+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S00=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=1+sxStart;\n"
" int sy=0+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S10=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=2+sxStart;\n"
" int sy=0+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S20=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=3+sxStart;\n"
" int sy=0+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S30=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=4+sxStart;\n"
" int sy=0+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S40=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=5+sxStart;\n"
" int sy=0+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S50=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=0+sxStart;\n"
" int sy=1+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S01=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=1+sxStart;\n"
" int sy=1+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S11=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=2+sxStart;\n"
" int sy=1+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S21=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=3+sxStart;\n"
" int sy=1+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S31=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=4+sxStart;\n"
" int sy=1+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S41=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=5+sxStart;\n"
" int sy=1+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S51=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=0+sxStart;\n"
" int sy=2+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S02=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=1+sxStart;\n"
" int sy=2+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S12=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=2+sxStart;\n"
" int sy=2+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S22=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=3+sxStart;\n"
" int sy=2+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S32=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=4+sxStart;\n"
" int sy=2+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S42=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=5+sxStart;\n"
" int sy=2+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S52=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=0+sxStart;\n"
" int sy=3+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S03=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=1+sxStart;\n"
" int sy=3+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S13=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=2+sxStart;\n"
" int sy=3+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S23=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=3+sxStart;\n"
" int sy=3+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S33=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=4+sxStart;\n"
" int sy=3+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S43=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=5+sxStart;\n"
" int sy=3+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S53=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=0+sxStart;\n"
" int sy=4+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S04=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=1+sxStart;\n"
" int sy=4+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S14=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=2+sxStart;\n"
" int sy=4+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S24=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=3+sxStart;\n"
" int sy=4+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S34=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=4+sxStart;\n"
" int sy=4+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S44=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=5+sxStart;\n"
" int sy=4+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S54=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=0+sxStart;\n"
" int sy=5+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S05=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=1+sxStart;\n"
" int sy=5+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S15=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=2+sxStart;\n"
" int sy=5+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S25=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=3+sxStart;\n"
" int sy=5+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S35=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=4+sxStart;\n"
" int sy=5+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S45=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" {\n"
" int sx=5+sxStart;\n"
" int sy=5+syStart;\n"
" int imageSx=select(sx+pos.y*srcWidth,-1,sx<0 || sx >= srcWidth);\n"
" int imageSy=select(batchOffset*srcHeight+sy,-1,sy<0 || sy >= srcHeight);\n"
" S55=RI_F(uInput,SAMPLER,(int2)(imageSx,imageSy));\n"
" }\n"
" FLOAT4 m00=+S00-(FLOAT)1.25*S02+(FLOAT)0.25*S04;\n"
" FLOAT4 m10=+S10-(FLOAT)1.25*S12+(FLOAT)0.25*S14;\n"
" FLOAT4 m20=+S20-(FLOAT)1.25*S22+(FLOAT)0.25*S24;\n"
" FLOAT4 m30=+S30-(FLOAT)1.25*S32+(FLOAT)0.25*S34;\n"
" FLOAT4 m40=+S40-(FLOAT)1.25*S42+(FLOAT)0.25*S44;\n"
" FLOAT4 m50=+S50-(FLOAT)1.25*S52+(FLOAT)0.25*S54;\n"
" FLOAT4 m01=+(FLOAT)0.666667*S01+(FLOAT)0.666667*S02-(FLOAT)0.166667*S03-(FLOAT)0.166667*S04;\n"
" FLOAT4 m11=+(FLOAT)0.666667*S11+(FLOAT)0.666667*S12-(FLOAT)0.166667*S13-(FLOAT)0.166667*S14;\n"
" FLOAT4 m21=+(FLOAT)0.666667*S21+(FLOAT)0.666667*S22-(FLOAT)0.166667*S23-(FLOAT)0.166667*S24;\n"
" FLOAT4 m31=+(FLOAT)0.666667*S31+(FLOAT)0.666667*S32-(FLOAT)0.166667*S33-(FLOAT)0.166667*S34;\n"
" FLOAT4 m41=+(FLOAT)0.666667*S41+(FLOAT)0.666667*S42-(FLOAT)0.166667*S43-(FLOAT)0.166667*S44;\n"
" FLOAT4 m51=+(FLOAT)0.666667*S51+(FLOAT)0.666667*S52-(FLOAT)0.166667*S53-(FLOAT)0.166667*S54;\n"
" FLOAT4 m02=-(FLOAT)0.666667*S01+(FLOAT)0.666667*S02+(FLOAT)0.166667*S03-(FLOAT)0.166667*S04;\n"
" FLOAT4 m12=-(FLOAT)0.666667*S11+(FLOAT)0.666667*S12+(FLOAT)0.166667*S13-(FLOAT)0.166667*S14;\n"
" FLOAT4 m22=-(FLOAT)0.666667*S21+(FLOAT)0.666667*S22+(FLOAT)0.166667*S23-(FLOAT)0.166667*S24;\n"
" FLOAT4 m32=-(FLOAT)0.666667*S31+(FLOAT)0.666667*S32+(FLOAT)0.166667*S33-(FLOAT)0.166667*S34;\n"
" FLOAT4 m42=-(FLOAT)0.666667*S41+(FLOAT)0.666667*S42+(FLOAT)0.166667*S43-(FLOAT)0.166667*S44;\n"
" FLOAT4 m52=-(FLOAT)0.666667*S51+(FLOAT)0.666667*S52+(FLOAT)0.166667*S53-(FLOAT)0.166667*S54;\n"
" FLOAT4 m03 =\n"
" -(FLOAT)0.0833333*S01-(FLOAT)0.0416667*S02+(FLOAT)0.0833333*S03+(FLOAT)0.0416667*S04;\n"
" FLOAT4 m13 =\n"
" -(FLOAT)0.0833333*S11-(FLOAT)0.0416667*S12+(FLOAT)0.0833333*S13+(FLOAT)0.0416667*S14;\n"
" FLOAT4 m23 =\n"
" -(FLOAT)0.0833333*S21-(FLOAT)0.0416667*S22+(FLOAT)0.0833333*S23+(FLOAT)0.0416667*S24;\n"
" FLOAT4 m33 =\n"
" -(FLOAT)0.0833333*S31-(FLOAT)0.0416667*S32+(FLOAT)0.0833333*S33+(FLOAT)0.0416667*S34;\n"
" FLOAT4 m43 =\n"
" -(FLOAT)0.0833333*S41-(FLOAT)0.0416667*S42+(FLOAT)0.0833333*S43+(FLOAT)0.0416667*S44;\n"
" FLOAT4 m53 =\n"
" -(FLOAT)0.0833333*S51-(FLOAT)0.0416667*S52+(FLOAT)0.0833333*S53+(FLOAT)0.0416667*S54;\n"
" FLOAT4 m04 =\n"
" +(FLOAT)0.0833333*S01-(FLOAT)0.0416667*S02-(FLOAT)0.0833333*S03+(FLOAT)0.0416667*S04;\n"
" FLOAT4 m14 =\n"
" +(FLOAT)0.0833333*S11-(FLOAT)0.0416667*S12-(FLOAT)0.0833333*S13+(FLOAT)0.0416667*S14;\n"
" FLOAT4 m24 =\n"
" +(FLOAT)0.0833333*S21-(FLOAT)0.0416667*S22-(FLOAT)0.0833333*S23+(FLOAT)0.0416667*S24;\n"
" FLOAT4 m34 =\n"
" +(FLOAT)0.0833333*S31-(FLOAT)0.0416667*S32-(FLOAT)0.0833333*S33+(FLOAT)0.0416667*S34;\n"
" FLOAT4 m44 =\n"
" +(FLOAT)0.0833333*S41-(FLOAT)0.0416667*S42-(FLOAT)0.0833333*S43+(FLOAT)0.0416667*S44;\n"
" FLOAT4 m54 =\n"
" +(FLOAT)0.0833333*S51-(FLOAT)0.0416667*S52-(FLOAT)0.0833333*S53+(FLOAT)0.0416667*S54;\n"
" FLOAT4 m05=+(FLOAT)4.0*S01-(FLOAT)5.0*S03+S05;\n"
" FLOAT4 m15=+(FLOAT)4.0*S11-(FLOAT)5.0*S13+S15;\n"
" FLOAT4 m25=+(FLOAT)4.0*S21-(FLOAT)5.0*S23+S25;\n"
" FLOAT4 m35=+(FLOAT)4.0*S31-(FLOAT)5.0*S33+S35;\n"
" FLOAT4 m45=+(FLOAT)4.0*S41-(FLOAT)5.0*S43+S45;\n"
" FLOAT4 m55=+(FLOAT)4.0*S51-(FLOAT)5.0*S53+S55;\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*0),+m00-(FLOAT)1.25*m20+(FLOAT)0.25*m40);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*1),\n"
" +(FLOAT)0.666667*m10+(FLOAT)0.666667*m20-(FLOAT)0.166667*m30-(FLOAT)0.166667*m40);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*2),\n"
" -(FLOAT)0.666667*m10+(FLOAT)0.666667*m20+(FLOAT)0.166667*m30-(FLOAT)0.166667*m40);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*3),\n"
" -(FLOAT)0.0833333*m10-(FLOAT)0.0416667*m20+(FLOAT)0.0833333*m30+(FLOAT)0.0416667*m40);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*4),\n"
" +(FLOAT)0.0833333*m10-(FLOAT)0.0416667*m20-(FLOAT)0.0833333*m30+(FLOAT)0.0416667*m40);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*5),+(FLOAT)4.0*m10-(FLOAT)5.0*m30+m50);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*6),+m01-(FLOAT)1.25*m21+(FLOAT)0.25*m41);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*7),\n"
" +(FLOAT)0.666667*m11+(FLOAT)0.666667*m21-(FLOAT)0.166667*m31-(FLOAT)0.166667*m41);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*8),\n"
" -(FLOAT)0.666667*m11+(FLOAT)0.666667*m21+(FLOAT)0.166667*m31-(FLOAT)0.166667*m41);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*9),\n"
" -(FLOAT)0.0833333*m11-(FLOAT)0.0416667*m21+(FLOAT)0.0833333*m31+(FLOAT)0.0416667*m41);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*10),\n"
" +(FLOAT)0.0833333*m11-(FLOAT)0.0416667*m21-(FLOAT)0.0833333*m31+(FLOAT)0.0416667*m41);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*11),+(FLOAT)4.0*m11-(FLOAT)5.0*m31+m51);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*12),+m02-(FLOAT)1.25*m22+(FLOAT)0.25*m42);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*13),\n"
" +(FLOAT)0.666667*m12+(FLOAT)0.666667*m22-(FLOAT)0.166667*m32-(FLOAT)0.166667*m42);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*14),\n"
" -(FLOAT)0.666667*m12+(FLOAT)0.666667*m22+(FLOAT)0.166667*m32-(FLOAT)0.166667*m42);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*15),\n"
" -(FLOAT)0.0833333*m12-(FLOAT)0.0416667*m22+(FLOAT)0.0833333*m32+(FLOAT)0.0416667*m42);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*16),\n"
" +(FLOAT)0.0833333*m12-(FLOAT)0.0416667*m22-(FLOAT)0.0833333*m32+(FLOAT)0.0416667*m42);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*17),+(FLOAT)4.0*m12-(FLOAT)5.0*m32+m52);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*18),+m03-(FLOAT)1.25*m23+(FLOAT)0.25*m43);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*19),\n"
" +(FLOAT)0.666667*m13+(FLOAT)0.666667*m23-(FLOAT)0.166667*m33-(FLOAT)0.166667*m43);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*20),\n"
" -(FLOAT)0.666667*m13+(FLOAT)0.666667*m23+(FLOAT)0.166667*m33-(FLOAT)0.166667*m43);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*21),\n"
" -(FLOAT)0.0833333*m13-(FLOAT)0.0416667*m23+(FLOAT)0.0833333*m33+(FLOAT)0.0416667*m43);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*22),\n"
" +(FLOAT)0.0833333*m13-(FLOAT)0.0416667*m23-(FLOAT)0.0833333*m33+(FLOAT)0.0416667*m43);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*23),+(FLOAT)4.0*m13-(FLOAT)5.0*m33+m53);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*24),+m04-(FLOAT)1.25*m24+(FLOAT)0.25*m44);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*25),\n"
" +(FLOAT)0.666667*m14+(FLOAT)0.666667*m24-(FLOAT)0.166667*m34-(FLOAT)0.166667*m44);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*26),\n"
" -(FLOAT)0.666667*m14+(FLOAT)0.666667*m24+(FLOAT)0.166667*m34-(FLOAT)0.166667*m44);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*27),\n"
" -(FLOAT)0.0833333*m14-(FLOAT)0.0416667*m24+(FLOAT)0.0833333*m34+(FLOAT)0.0416667*m44);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*28),\n"
" +(FLOAT)0.0833333*m14-(FLOAT)0.0416667*m24-(FLOAT)0.0833333*m34+(FLOAT)0.0416667*m44);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*29),+(FLOAT)4.0*m14-(FLOAT)5.0*m34+m54);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*30),+m05-(FLOAT)1.25*m25+(FLOAT)0.25*m45);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*31),\n"
" +(FLOAT)0.666667*m15+(FLOAT)0.666667*m25-(FLOAT)0.166667*m35-(FLOAT)0.166667*m45);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*32),\n"
" -(FLOAT)0.666667*m15+(FLOAT)0.666667*m25+(FLOAT)0.166667*m35-(FLOAT)0.166667*m45);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*33),\n"
" -(FLOAT)0.0833333*m15-(FLOAT)0.0416667*m25+(FLOAT)0.0833333*m35+(FLOAT)0.0416667*m45);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*34),\n"
" +(FLOAT)0.0833333*m15-(FLOAT)0.0416667*m25-(FLOAT)0.0833333*m35+(FLOAT)0.0416667*m45);\n"
" WI_F(uOutput,(int2)(dstX,unitHeight_idx+unitHeight*35),+(FLOAT)4.0*m15-(FLOAT)5.0*m35+m55);\n"
" }\n"
" }\n"
"}\n"
;
}
